1. Field of the Invention
The present invention relates to a motion vector detecting apparatus and a motion vector detecting method.
2. Description of the Related Art
Conventionally, standards such as MPEG-1, MPEG-2, and MPEG-4 of the Motion Picture Experts Group (MPEG) of the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC), and H.261, H.262, and H.264 of the International Telecommunication Union Telecommunication Standardization Sector (ITU-T) are widely used as a method for compression coding of motion picture information, in a motion picture distribution on a digital television, a digital versatile disk (DVD), and the Internet, and a motion picture storage in a digital camera.
These methods compress an information amount utilizing a characteristic of motion pictures, that “frames continuous in time have a high correlation”. Specifically, to find the correlation, the methods detect a motion vector between an encoding frame and a reference frame that has a temporally anteroposterior relation with the encoding frame, for each processing unit (i.e., macro block: MB) of the encoding frame.
In the detection of the motion vector, a block matching calculation of a reference frame is carried out in the MB unit of the encoding frame, and an evaluation value showing a correlation level is calculated. In general, the same pixel data of original picture data and reference picture data are repeatedly required for each processing unit of the MB. Therefore, picture data for calculation is read out after the picture data is transferred from a frame memory to an original picture memory and a reference picture memory in a large-scale integration (LSI).
The reference picture data, however, occupies a large transfer area from the frame memory in the MB unit, and the areas of the reference picture data overlap in the transition of the MB process, when observed in the frame unit. The data amount repeatedly read from the frame memory is not small. Because the overhead of the reference picture data increases a bandwidth of the frame memory and power consumption, an attempt is made to achieve lower power consumption by suppressing the bandwidth (for example, see Japanese Patent Application Laid-open No. H7-231445).
To suppress the bandwidth as described above, the following method is considered. A prefetch memory is provided between an external memory and a static random access memory (SRAM) for block matching calculation. Data having a high possibility of being read frequently is stored within the prefetch memory. The data stored in the prefetch memory is transferred from this memory to the internal SRAM for block matching calculation, whereby the amount of a transfer to the external memory is decreased.
However, even when the above method is used, at the time of detecting a motion vector, the same reference picture data is accessed frequently during processing of plural pieces of original picture data as well as during processing of one piece of original picture data. Therefore, utilization efficiency of the prefetch memory is low.
On the other hand, when a high constraint is set to a reference frame at the time of detecting a motion vector by prioritizing the utilization efficiency of the prefetch memory, reference data having a high correlation with the original picture to be processed cannot be selected. As a result, the encoding efficiency decreases, and the picture quality is degraded.